Basic Interfaces

Data Structures

class  FUID
 Handling 16 Byte Globaly Unique Identifiers. More...
class  FUnknown
 The basic interface of all interfaces. More...
class  IPtr< I >
 IPtr - Smart pointer template class. More...
class  OPtr< I >
 OPtr - "owning" smart pointer used for newly created FObjects. More...
class  FVariant
 A Value of variable type. More...
class  IBStream
 Base class for streams. More...
class  ISizeableStream
 Stream with a size. More...
class  IPluginBase
 Basic interface to a Plug-in component. More...
struct  PFactoryInfo
 Basic Information about the class factory of the Plug-in. More...
struct  PClassInfo
 Basic Information about a class provided by the Plug-in. More...
class  IPluginFactory
 Class factory that any Plug-in defines for creating class instances. More...
struct  PClassInfo2
 Version 2 of Basic Information about a class provided by the Plug-in. More...
class  IPluginFactory2
 Version 2 of class factory supporting PClassInfo2. More...
class  IPluginFactory3
 Version 3 of class factory supporting PClassInfoW. More...

Functions

Steinberg::IPluginFactoryGetPluginFactory ()
 Plug-in entrypoint.

Function Documentation

Steinberg::IPluginFactory* GetPluginFactory (  ) 

Plug-in entrypoint.

Any Plug-in must define and export this function.
A typical implementation of GetPluginFactory looks like this

   IPluginFactory* PLUGIN_API GetPluginFactory ()
   {
      if (!gPluginFactory)
      {
         static PFactoryInfo factoryInfo =
         {
            "My Company Name",
            "http://www.mywebpage.com",
            "mailto:myemail@address.com",
            PFactoryInfo::kNoFlags
         };

         gPluginFactory = new CPluginFactory (factoryInfo);

         static PClassInfo componentClass =
         {
            INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000), // replace by a valid uid
            1,
            "Service",    // category
            "Name"
         };

         gPluginFactory->registerClass (&componentClass, MyComponentClass::newInstance);
      }
      else
         gPluginFactory->addRef ();

      return gPluginFactory;
   }
See also:
How the host will load a Plug-in
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.